+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
+Mon Apr 2 16:56:15 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
+ marshaller.
+
+ * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
+ "changed" signal to "range_changed".
+
+ * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
+ removing a tree from one model would remove all trees from that
+ model.
+ * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
+ changed signal instead.
+
Mon Apr 2 16:13:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
GdkPixmap
GdkColormap
GtkSettings
+ GtkRcStyle
GtkObject
GtkWidget
GtkMisc
@widget: the object which received the signal.
+<!-- ##### SIGNAL GtkWidget::size-request ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@requisition:
+
<!-- ##### FUNCTION gtk_button_box_child_requisition ##### -->
<para>\r
This is an internally used function and should never be called from an\r
#GtkRcStyle structures to form a #GtkStyle.
</para>
-@parent_instance:
@name:
@bg_pixmap_name:
@font_desc:
the callbacks.
-<!-- ##### FUNCTION gtk_signal_lookup ##### -->
+<!-- ##### MACRO gtk_signal_lookup ##### -->
<para>
Given the name of the signal and the type of object it connects
to, get the signal's identifying integer. Emitting the signal
It also tries the ancestors of the given type.
</para>
+@Returns: the signal's identifying number, or 0 if no signal was found.
+<!-- # Unused Parameters # -->
@name: the signal's name, e.g. clicked.
@object_type: the type that the signal operates on, e.g. #GTK_TYPE_BUTTON.
-@Returns: the signal's identifying number, or 0 if no signal was found.
-<!-- ##### FUNCTION gtk_signal_name ##### -->
+<!-- ##### MACRO gtk_signal_name ##### -->
<para>
Given the signal's identifier, find its name.
</para>
Two different signals may have the same name, if they have differing types.
</para>
-@signal_id: the signal's identifying number.
@Returns: the signal name, or NULL if the signal number was invalid.
+<!-- # Unused Parameters # -->
+@signal_id: the signal's identifying number.
<!-- ##### FUNCTION gtk_signal_emit ##### -->
followed by one which is a pointer to the return type.
-<!-- ##### FUNCTION gtk_signal_emit_stop ##### -->
+<!-- ##### MACRO gtk_signal_emit_stop ##### -->
<para>
This function aborts a signal's current emission.
</para>
isn't being emitted.
</para>
-@object: the object whose signal handlers you wish to stop.
-@signal_id: the signal identifier, as returned by gtk_signal_lookup().
-<!-- # Unused Parameters # -->
@i:
@s:
+<!-- # Unused Parameters # -->
+@object: the object whose signal handlers you wish to stop.
+@signal_id: the signal identifier, as returned by gtk_signal_lookup().
<!-- ##### FUNCTION gtk_signal_emit_stop_by_name ##### -->
@name: the name of the signal you wish to stop.
-<!-- ##### FUNCTION gtk_signal_connect ##### -->
+<!-- ##### MACRO gtk_signal_connect ##### -->
<para>
Attach a function pointer and user data to a signal for
a particular object.
</programlisting>
</informalexample>
+@o:
+@s:
+@f:
+@d:
+@Returns: the connection id.
+<!-- # Unused Parameters # -->
@object: the object associated with the signal, e.g. if a button
is getting pressed, this is that button.
@name: name of the signal.
@func: function pointer to attach to the signal.
@func_data: value to pass as to your function (through the marshaller).
-@Returns: the connection id.
-<!-- # Unused Parameters # -->
-@o:
-@s:
-@f:
-@d:
-<!-- ##### FUNCTION gtk_signal_connect_after ##### -->
+<!-- ##### MACRO gtk_signal_connect_after ##### -->
<para>
Attach a function pointer and user data to a signal
so that this handler will be called after the other handlers.
</para>
-@object: the object associated with the signal.
-@name: name of the signal.
-@func: function pointer to attach to the signal.
-@func_data: value to pass as to your function (through the marshaller).
-@Returns: the unique identifier for this attachment: the connection id.
-<!-- # Unused Parameters # -->
@o:
@s:
@f:
@d:
+@Returns: the unique identifier for this attachment: the connection id.
+<!-- # Unused Parameters # -->
+@object: the object associated with the signal.
+@name: name of the signal.
+@func: function pointer to attach to the signal.
+@func_data: value to pass as to your function (through the marshaller).
-<!-- ##### FUNCTION gtk_signal_connect_object ##### -->
+<!-- ##### MACRO gtk_signal_connect_object ##### -->
<para>
This function is for registering a callback that will
call another object's callback. That is,
</programlisting>
</informalexample>
+@o:
+@s:
+@f:
+@d:
+@Returns: the connection id.
+<!-- # Unused Parameters # -->
@object: the object which emits the signal.
@name: the name of the signal.
@func: the function to callback.
@slot_object: the object to pass as the first parameter to func.
(Though it pretends to take an object, you can
really pass any gpointer as the #slot_object .)
-@Returns: the connection id.
-<!-- # Unused Parameters # -->
-@o:
-@s:
-@f:
-@d:
-<!-- ##### FUNCTION gtk_signal_connect_object_after ##### -->
+<!-- ##### MACRO gtk_signal_connect_object_after ##### -->
<para>
Attach a signal hook to a signal, passing in an alternate
object as the first parameter, and guaranteeing
handlers are called first.
</para>
-@object: the object associated with the signal.
-@name: name of the signal.
-@func: function pointer to attach to the signal.
-@slot_object: the object to pass as the first parameter to #func.
-@Returns: the connection id.
-<!-- # Unused Parameters # -->
@o:
@s:
@f:
@d:
+@Returns: the connection id.
+<!-- # Unused Parameters # -->
+@object: the object associated with the signal.
+@name: name of the signal.
+@func: function pointer to attach to the signal.
+@slot_object: the object to pass as the first parameter to #func.
<!-- ##### FUNCTION gtk_signal_connect_full ##### -->
@name: name of the signal.
-<!-- ##### FUNCTION gtk_signal_disconnect ##### -->
+<!-- ##### MACRO gtk_signal_disconnect ##### -->
<para>
Destroy a user-defined handler connection.
</para>
+<!-- # Unused Parameters # -->
@object: the object which the handler pertains to.
@handler_id: the connection id.
-<!-- ##### FUNCTION gtk_signal_disconnect_by_func ##### -->
+<!-- ##### MACRO gtk_signal_disconnect_by_func ##### -->
<para>
Destroy all connections for a particular object, with
the given function-pointer and user-data.
</para>
-@object: the object which emits the signal.
-@func: the function pointer to search for.
-@data: the user data to search for.
-<!-- # Unused Parameters # -->
@o:
@f:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal.
+@func: the function pointer to search for.
+@data: the user data to search for.
-<!-- ##### FUNCTION gtk_signal_disconnect_by_data ##### -->
+<!-- ##### MACRO gtk_signal_disconnect_by_data ##### -->
<para>
Destroy all connections for a particular object, with
the given user-data.
</para>
-@object: the object which emits the signal.
-@data: the user data to search for.
-<!-- # Unused Parameters # -->
@o:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal.
+@data: the user data to search for.
-<!-- ##### FUNCTION gtk_signal_handler_block ##### -->
+<!-- ##### MACRO gtk_signal_handler_block ##### -->
<para>
Prevent an user-defined handler from being invoked. All other
signal processing will go on as normal, but this particular
handler will ignore it.
</para>
+<!-- # Unused Parameters # -->
@object: the object which emits the signal to block.
@handler_id: the connection id.
-<!-- ##### FUNCTION gtk_signal_handler_block_by_func ##### -->
+<!-- ##### MACRO gtk_signal_handler_block_by_func ##### -->
<para>
Prevent a user-defined handler from being invoked, by reference to
the user-defined handler's function pointer and user data. (It may result in
multiple hooks being blocked, if you've called connect multiple times.)
</para>
-@object: the object which emits the signal to block.
-@func: the function pointer of the handler to block.
-@data: the user data of the handler to block.
-<!-- # Unused Parameters # -->
@o:
@f:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal to block.
+@func: the function pointer of the handler to block.
+@data: the user data of the handler to block.
-<!-- ##### FUNCTION gtk_signal_handler_block_by_data ##### -->
+<!-- ##### MACRO gtk_signal_handler_block_by_data ##### -->
<para>
Prevent all user-defined handlers with a certain user data from being invoked.
</para>
-@object: the object which emits the signal we want to block.
-@data: the user data of the handlers to block.
-<!-- # Unused Parameters # -->
@o:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal we want to block.
+@data: the user data of the handlers to block.
-<!-- ##### FUNCTION gtk_signal_handler_unblock ##### -->
+<!-- ##### MACRO gtk_signal_handler_unblock ##### -->
<para>
Undo a block, by connection id. Note that undoing a block doesn't
necessarily make the hook callable, because if you block a
hook twice, you must unblock it twice.
</para>
+<!-- # Unused Parameters # -->
@object: the object which emits the signal we want to unblock.
@handler_id: the emission handler identifier, as returned by
gtk_signal_connect(), etc.
-<!-- ##### FUNCTION gtk_signal_handler_unblock_by_func ##### -->
+<!-- ##### MACRO gtk_signal_handler_unblock_by_func ##### -->
<para>
Undo a block, by function pointer and data.
Note that undoing a block doesn't
hook twice, you must unblock it twice.
</para>
-@object: the object which emits the signal we want to unblock.
-@func: the function pointer to search for.
-@data: the user data to search for.
-<!-- # Unused Parameters # -->
@o:
@f:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal we want to unblock.
+@func: the function pointer to search for.
+@data: the user data to search for.
-<!-- ##### FUNCTION gtk_signal_handler_unblock_by_data ##### -->
+<!-- ##### MACRO gtk_signal_handler_unblock_by_data ##### -->
<para>
Undo block(s), to all signals for a particular object
with a particular user-data pointer
</para>
-@object: the object which emits the signal we want to unblock.
-@data: the user data to search for.
-<!-- # Unused Parameters # -->
@o:
@d:
+<!-- # Unused Parameters # -->
+@object: the object which emits the signal we want to unblock.
+@data: the user data to search for.
-<!-- ##### FUNCTION gtk_signal_handler_pending ##### -->
+<!-- ##### MACRO gtk_signal_handler_pending ##### -->
<para>
Returns a connection id corresponding to a given signal id and object.
</para>
thus saving the cost of building the arguments.
</para>
+@i:
+@s:
+@b:
+@Returns: the connection id, if a connection was found. 0 otherwise.
+<!-- # Unused Parameters # -->
@object: the object to search for the desired user-defined handler.
@signal_id: the number of the signal to search for.
@may_be_blocked: whether it is acceptable to return a blocked
handler.
-@Returns: the connection id, if a connection was found. 0 otherwise.
-<!-- # Unused Parameters # -->
-@i:
-@s:
-@b:
-<!-- ##### FUNCTION gtk_signal_handler_pending_by_func ##### -->
+<!-- ##### MACRO gtk_signal_handler_pending_by_func ##### -->
<para>
Returns a connection id corresponding to a given signal id, object, function
pointer and user data.
</para>
+@o:
+@s:
+@b:
+@f:
+@d:
+@Returns: the connection id, if a handler was found. 0 otherwise.
+<!-- # Unused Parameters # -->
@object: the object to search for the desired handler.
@signal_id: the number of the signal to search for.
@may_be_blocked: whether it is acceptable to return a blocked
handler.
@func: the function pointer to search for.
@data: the user data to search for.
-@Returns: the connection id, if a handler was found. 0 otherwise.
-<!-- # Unused Parameters # -->
-@o:
-@s:
-@b:
-@f:
-@d:
<!-- ##### MACRO gtk_signal_default_marshaller ##### -->
@type_info: must not be null, and @type_info->type_name must also not be null.
-<!-- ##### FUNCTION gtk_type_name ##### -->
+<!-- ##### MACRO gtk_type_name ##### -->
<para>
</para>
-@type: a GtkType
@Returns: a pointer to the name of a type, or NULL if it has none.
+<!-- # Unused Parameters # -->
+@type: a GtkType
-<!-- ##### FUNCTION gtk_type_from_name ##### -->
+<!-- ##### MACRO gtk_type_from_name ##### -->
<para>
Get the internal representation of a type given its name.
</para>
-@name: the name of a gtk type
@Returns: a GtkType
+<!-- # Unused Parameters # -->
+@name: the name of a gtk type
-<!-- ##### FUNCTION gtk_type_parent ##### -->
+<!-- ##### MACRO gtk_type_parent ##### -->
<para>
</para>
-@type: a GtkType
@Returns: the GtkType of the parent
+<!-- # Unused Parameters # -->
+@type: a GtkType
<!-- ##### FUNCTION gtk_type_class ##### -->
@Returns: gpointer to a GtkTypeObject
-<!-- ##### FUNCTION gtk_type_is_a ##### -->
+<!-- ##### MACRO gtk_type_is_a ##### -->
<para>
Look in the type hierarchy to see if @type has @is_a_type among its
ancestors. Do so with a simple lookup, not a loop.
</para>
+@Returns:
+<!-- # Unused Parameters # -->
@type: GtkType
@is_a_type: GtkType
-@Returns:
<!-- ##### FUNCTION gtk_type_enum_get_values ##### -->
@widget: the object which received the signal.
@allocation:
-<!-- ##### SIGNAL GtkWidget::size-request ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@requisition:
-
<!-- ##### SIGNAL GtkWidget::state-changed ##### -->
<para>
_gtk_tree_data_list_value_to_node (list, &real_value);
else
_gtk_tree_data_list_value_to_node (list, value);
- gtk_tree_model_changed (GTK_TREE_MODEL (list_store), path, iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (list_store), path, iter, path, iter);
gtk_tree_path_free (path);
if (converted)
g_value_unset (&real_value);
_gtk_tree_data_list_value_to_node (list, &real_value);
else
_gtk_tree_data_list_value_to_node (list, value);
- gtk_tree_model_changed (GTK_TREE_MODEL (list_store), path, iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (list_store), path, iter, path, iter);
gtk_tree_path_free (path);
if (converted)
g_value_unset (&real_value);
G_SLIST (dest_iter.user_data)->data = copy_head;
path = gtk_list_store_get_path (GTK_TREE_MODEL (tree_model), &dest_iter);
- gtk_tree_model_changed (GTK_TREE_MODEL (tree_model), path, &dest_iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (tree_model), path, &dest_iter, path, &dest_iter);
gtk_tree_path_free (path);
}
}
VOID:BOOLEAN
VOID:BOXED
VOID:BOXED,BOXED
+VOID:BOXED,BOXED,BOXED,BOXED
VOID:BOXED,BOXED,POINTER
VOID:BOXED,POINTER
VOID:BOXED,OBJECT
VOID:BOOLEAN
VOID:BOXED
VOID:BOXED,BOXED
+VOID:BOXED,BOXED,BOXED,BOXED
VOID:BOXED,BOXED,POINTER
VOID:BOXED,POINTER
VOID:BOXED,OBJECT
if (! initialized)
{
- g_signal_newc ("changed",
+ g_signal_newc ("range_changed",
GTK_TYPE_TREE_MODEL,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GtkTreeModelIface, changed),
+ G_STRUCT_OFFSET (GtkTreeModelIface, range_changed),
NULL, NULL,
- gtk_marshal_VOID__BOXED_BOXED,
- G_TYPE_NONE, 2,
+ gtk_marshal_VOID__BOXED_BOXED_BOXED_BOXED,
+ G_TYPE_NONE, 4,
+ GTK_TYPE_TREE_PATH,
+ GTK_TYPE_TREE_ITER,
GTK_TYPE_TREE_PATH,
GTK_TYPE_TREE_ITER);
g_signal_newc ("inserted",
}
void
-gtk_tree_model_changed (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter)
+gtk_tree_model_range_changed (GtkTreeModel *tree_model,
+ GtkTreePath *start_path,
+ GtkTreeIter *start_iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter)
{
g_return_if_fail (tree_model != NULL);
g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
- g_return_if_fail (path != NULL);
- g_return_if_fail (iter != NULL);
-
- g_signal_emit_by_name (tree_model, "changed", path, iter);
+ g_return_if_fail (start_path != NULL);
+ g_return_if_fail (start_iter != NULL);
+ g_return_if_fail (end_path != NULL);
+ g_return_if_fail (end_iter != NULL);
+
+ g_signal_emit_by_name (tree_model, "range_changed",
+ start_path, start_iter,
+ end_path, end_iter);
}
void
GTypeInterface g_iface;
/* Signals */
- void (* changed) (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter);
+ void (* range_changed) (GtkTreeModel *tree_model,
+ GtkTreePath *start_path,
+ GtkTreeIter *start_iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter);
void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
/* Signals */
-void gtk_tree_model_changed (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter);
+void gtk_tree_model_range_changed (GtkTreeModel *tree_model,
+ GtkTreePath *start_path,
+ GtkTreeIter *start_iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter);
void gtk_tree_model_inserted (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
static void gtk_tree_model_sort_class_init (GtkTreeModelSortClass *tree_model_sort_class);
static void gtk_tree_model_sort_tree_model_init (GtkTreeModelIface *iface);
static void gtk_tree_model_sort_finalize (GObject *object);
-static void gtk_tree_model_sort_changed (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
+static void gtk_tree_model_sort_range_changed (GtkTreeModel *model,
+ GtkTreePath *start_path,
+ GtkTreeIter *start_iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter,
gpointer data);
static void gtk_tree_model_sort_inserted (GtkTreeModel *model,
GtkTreePath *path,
{
tree_model_sort->changed_id =
g_signal_connectc (child_model,
- "changed",
- gtk_tree_model_sort_changed,
+ "range_changed",
+ gtk_tree_model_sort_range_changed,
tree_model_sort,
FALSE);
tree_model_sort->inserted_id =
}
static void
-gtk_tree_model_sort_changed (GtkTreeModel *s_model,
- GtkTreePath *s_path,
- GtkTreeIter *s_iter,
- gpointer data)
+gtk_tree_model_sort_range_changed (GtkTreeModel *s_model,
+ GtkTreePath *s_start_path,
+ GtkTreeIter *s_start_iter,
+ GtkTreePath *s_end_path,
+ GtkTreeIter *s_end_iter,
+ gpointer data)
{
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *path;
gboolean free_s_path = FALSE;
gint index;
- g_return_if_fail (s_path != NULL || s_iter != NULL);
+ g_return_if_fail (s_start_path != NULL || s_start_iter != NULL);
- if (s_path == NULL)
+ if (s_start_path == NULL)
{
free_s_path = TRUE;
- s_path = gtk_tree_model_get_path (s_model, s_iter);
+ s_start_path = gtk_tree_model_get_path (s_model, s_start_iter);
}
- path = gtk_tree_model_sort_convert_path_real (tree_model_sort, s_path, FALSE);
+ path = gtk_tree_model_sort_convert_path_real (tree_model_sort, s_start_path, FALSE);
if (path == NULL)
{
if (free_s_path)
- gtk_tree_path_free (s_path);
+ gtk_tree_path_free (s_start_path);
return;
}
(GtkTreeIter *) elt,
TRUE);
- g_signal_emit_by_name (G_OBJECT (data), "changed", path, &iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (data), path, &iter, path, &iter);
gtk_tree_path_free (path);
if (free_s_path)
- gtk_tree_path_free (s_path);
+ gtk_tree_path_free (s_start_path);
}
/* FALSE if the value was inserted, TRUE otherwise */
_gtk_tree_data_list_value_to_node (list, &real_value);
else
_gtk_tree_data_list_value_to_node (list, value);
- gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (tree_store), path, iter, path, iter);
gtk_tree_path_free (path);
if (converted)
g_value_unset (&real_value);
_gtk_tree_data_list_value_to_node (list, &real_value);
else
_gtk_tree_data_list_value_to_node (list, value);
- gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (tree_store), path, iter, path, iter);
gtk_tree_path_free (path);
if (converted)
g_value_unset (&real_value);
G_NODE (dest_iter->user_data)->data = copy_head;
path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), dest_iter);
- gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, dest_iter);
+ gtk_tree_model_range_changed (GTK_TREE_MODEL (tree_store), path, dest_iter, path, dest_iter);
gtk_tree_path_free (path);
}
static void gtk_tree_view_set_adjustments (GtkTreeView *tree_view,
GtkAdjustment *hadj,
GtkAdjustment *vadj);
-static void gtk_tree_view_changed (GtkTreeModel *model,
+static void gtk_tree_view_range_changed (GtkTreeModel *model,
GtkTreePath *path,
GtkTreeIter *iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter,
gpointer data);
static void gtk_tree_view_inserted (GtkTreeModel *model,
GtkTreePath *path,
*/
static void
-gtk_tree_view_changed (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
+gtk_tree_view_range_changed (GtkTreeModel *model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ GtkTreePath *end_path,
+ GtkTreeIter *end_iter,
+ gpointer data)
{
GtkTreeView *tree_view = (GtkTreeView *)data;
GtkRBTree *tree;
tree_view->priv->tree = NULL;
g_signal_connectc (tree_view->priv->model,
- "changed",
- gtk_tree_view_changed,
+ "range_changed",
+ gtk_tree_view_range_changed,
tree_view,
FALSE);
g_signal_connectc (tree_view->priv->model,
if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_MODEL_SETUP))
{
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
- G_SIGNAL_MATCH_FUNC,
+ G_SIGNAL_MATCH_DATA,
0, 0, NULL,
- gtk_tree_view_changed, NULL);
+ NULL, tree_view);
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
- G_SIGNAL_MATCH_FUNC,
+ G_SIGNAL_MATCH_DATA,
0, 0, NULL,
- gtk_tree_view_inserted, NULL);
+ NULL, tree_view);
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
- G_SIGNAL_MATCH_FUNC,
+ G_SIGNAL_MATCH_DATA,
0, 0, NULL,
- gtk_tree_view_has_child_toggled, NULL);
+ NULL, tree_view);
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
- G_SIGNAL_MATCH_FUNC,
+ G_SIGNAL_MATCH_DATA,
0, 0, NULL,
- gtk_tree_view_deleted, NULL);
+ NULL, tree_view);
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
- G_SIGNAL_MATCH_FUNC,
+ G_SIGNAL_MATCH_DATA,
0, 0, NULL,
- gtk_tree_view_reordered, NULL);
+ NULL, tree_view);
_gtk_rbtree_free (tree_view->priv->tree);
}